# -*- coding:utf-8 -*-

import sqlite3
from init_db import init_db


# 3.2保存数据到数据库
def saveDataToSQlite(datalist, dbpath):
    # autoincrement主键自增长
    createSql='''
        CREATE TABLE movietop250(
            id INTEGER PRIMARY KEY autoincrement, --编号
            ctitle TEXT,--中文名
            otitle TEXT,--外文名
            link VARCHAR,--详情链接
            pic VARCHAR,--封面图片路径
            rating NUMERIC,--电影评分
            judge INTEGER, --评价人数
            inq TEXT,--一句话影评
            bd TEXT --主创团队
        )
    '''
    # 初始化数据库，创建数据库表
    init_db(dbpath,createSql)
    # 创建数据库连接
    conn=sqlite3.connect(dbpath)
    # 创建一个游标对象
    cur=conn.cursor()
    # 使用for循环获取每一部电影信息
    for data in datalist:
        for index in range(len(data)):
            # 需要给所有字符串数据添加双引号
            # 不是字符串的，就不加引号
            if type(data[index])!=str:
                continue
            else:
                data[index]='"'+data[index]+'"'
        insertSQL='''
            INSERT INTO movietop250(ctitle,otitle,link,pic,rating,judge,inq,bd)
            VALUES(%s)'''%",".join(data)
        # print(insertSQL)
        # 执行sql语句
        cur.execute(insertSQL)
    # 提交事务
    conn.commit()
    # 关闭游标连接
    cur.close()
    # 关闭数据库连接
    conn.close()

